package com.wkbb.sports.mapper;

import com.wkbb.common.base.BaseMapper;
import com.wkbb.sports.dto.*;
import com.wkbb.sports.model.HlifeTrainStudent;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface HlifeTrainStudentMapper extends BaseMapper<HlifeTrainStudent> {

	List<HlifeTrainStudent> getListByTrans(@Param("ids") String arrays)throws Exception;
	
	List<TrainSummaryDto> queryTrainSummaryList(@Param("ids") String arrays, @Param("gradeId") Long gradeId)throws Exception;

	List<JumpGradeSummaryDto> queryJumpGradeSummaryList(@Param("ids") String ids)throws Exception;

	List<JumpClassSummaryDto> queryJumpClassSummaryList(Map<String, Object> params)throws Exception;

	List<JumpTrainSummaryDto> queryJumpTrainSummaryList(Map<String, Object> params)throws Exception;
	
	ProjectOrgAverageDto getOrgAverage(@Param("ids") String trianIds)throws Exception;

	JumpTrainSummaryDto getJumpTrain4PC(Map<String, Object> params)throws Exception;

	List<TrainReportDto> getStudentSportsMessageToFamily(Map<String, Object> params);

	void updateSendMessageFlagBatch(@Param("list")List<HlifeTrainStudent> list);

	List<HlifeTrainStudent> getTrainAchievementList(Map<String, Object> params);

	List<HlifeTrainStudent> getTrainAchievementHistoryList(Map<String, Object> params);

	List<Map<String, Integer>> getAchievementStudentClassStat(Map<String, Object> params);

	List<HlifeTrainStudent>getAchievementStudentRankingList(Map<String, Object> params);

	Double queryTrainStudentSummary(Map<String, Object> params);

	List<Map<String, Object>> getTeacherTrainDistributeStat(Map<String, Object> params);

	List<TrainStudentDto> getTeacherTrainFlunkStudentList(Map<String, Object> params);

	List<HlifeTrainStudent> getStudentTrainList(Map<String, Object> params);

	List<HlifeTrainStudent> getSportsStudentTrainPageList(Map<String, Object> params);

	Map<String, Object> getTrainStudentHistoryStat(Map<String, Object> params);

	List<HlifeTrainStudent> getTrainStudentHistoryList(Map<String, Object> params);

    List<TrainTrendDto> getStudentTrainTrend(Map<String, Object> params);

	TAnalysisDto getPCTrainDistributeStat(Map<String, Object> params);

    List<TAnalysisDto> getGradeTrainDistributeStat(Map<String, Object> params);
}